Groovy es un lenguaje de programación dinámico y ágil que se ejecuta en la máquina virtual de Java. Grails es un framework para desarrollo web basado en Groovy que implementa el patrón MVC y proporciona características como scaffolding, mapeo objeto-relacional y soporte para pruebas unitarias. Juntos, Groovy y Grails permiten un desarrollo rápido de aplicaciones aprovechando las ventajas de ambas tecnologías.
Esta ponencia tiene como objetivo mostrar como conjuntar y aprovechar las ventajas de trabajar con Groovy & Grails, llevar el control del versionado con Git y simular la puesta en producción de la aplicación en GoogleAppEngine.
T3chFest 2016 - De Java a Groovy: ¡Hora de Aventuras!Iván López Martín
Groovy es un lenguaje dinámico para la JVM y la evolución natural para un programador Java debido a su baja curva de aprendizaje.
Si quieres saber por qué programar con Groovy es una Hora de Aventuras, esta es tu charla. Aprenderás a través de ejemplos las principales características que hacen de Groovy un lenguaje tan potente y versatil: tipado dinámico, closures, manejo de listas y mapas, power asserts, builders, metaprogramación, scripting, DSL's, transformaciones AST y muchas más.
Te aseguro que después de ella tendrás ganas de profundizar y utilizarlo en tu día a día.
Esta ponencia tiene como objetivo mostrar como conjuntar y aprovechar las ventajas de trabajar con Groovy & Grails, llevar el control del versionado con Git y simular la puesta en producción de la aplicación en GoogleAppEngine.
T3chFest 2016 - De Java a Groovy: ¡Hora de Aventuras!Iván López Martín
Groovy es un lenguaje dinámico para la JVM y la evolución natural para un programador Java debido a su baja curva de aprendizaje.
Si quieres saber por qué programar con Groovy es una Hora de Aventuras, esta es tu charla. Aprenderás a través de ejemplos las principales características que hacen de Groovy un lenguaje tan potente y versatil: tipado dinámico, closures, manejo de listas y mapas, power asserts, builders, metaprogramación, scripting, DSL's, transformaciones AST y muchas más.
Te aseguro que después de ella tendrás ganas de profundizar y utilizarlo en tu día a día.
Charla en Madrid Spring User Group (www.meetup.com/madrid-spring-user-group/) sobre el uso del framework Spock en aplicaciones Spring Boot y como contenido extra, breve introducción al framework GEB para pruebas funcionales
No solo un lenguaje puede resolver los problemas que se enfrentan al desarrollar aplicaciones. Cada lenguaje tiene su semántica y sin duda su aplicación. En la plataforma Java desde hace algunos años se brinda soporte para numerosos lenguajes, muchos de ellos creados específicos para la plataforma y otros traídos y adaptados para que puedan explotar las bondades, herramientas y librerías que desde hace muchos años forman parte del ecosistema Java.
En esta charla mostraremos algunos de los lenguajes mas representativos y mas usados en la plataforma Java, los lenguajes que mostraremos son Jython, JRuby, Scala y Groovy. Veremos un poco de su historia y como fueron integrados a la plataforma, así como algunos casos de éxito del uso de estos lenguajes. Ademas de ello analizaremos algunas herramientas disponibles para su uso.
Al termino de la charla los asistentes sabrán que existen muchas alternativas de lenguajes de programación sobre la plataforma Java para desarrollar aplicaciones sumamente escalables y algunas de las tendencias del mercado.
Presentación del tema "Redefiniendo el MVC con Grails" presentada por mí el día Sábado 22 de Agosto en la Reunión de SpringHispano.org, grails.org.mx y JavaMexico
El proceso de desarrollo de software involucra una gran cantidad de recursos, la elección de dichos recursos sin duda puede ayudarnos a marcar la diferencia en el resultado final.
Estos recursos pueden ser de muchos tipos, en este webminar nos enfocaremos a herramientas de software que nos permitirán mejorar nuestro proceso de desarrollo, aprovechando los beneficios del modelo openSource.
Veremos algunos criterios para elegir la herramientas de construcción, IDE de desarrollo, frameworks de testing, así como herramientas para integrar continuamente el código, así como herramientas para generar métricas.
NET5 es la nueva plataforma de desarrollo unificada, para programar cualquier tipo de aplicaciones modernas con Visual Studio. La construcción de nuevas aplicaciones .NET5, se pueden desarrollar y publicar en diferentes sistemas operativos, plataformas de nube, plataformas móviles, IoT y otros dispositivos con diferentes lenguajes y herramientas.
Sesión 6 del curso Metodologías Ágiles de Desarrollo de Software de la Universidad de Alicante (http://www.dccia.ua.es/dccia/inf/asignaturas/MADS/2013-14)
Introducción a la organización de contenidos en sitios web 2.0.
Curso de Verano "La web 2.0: retos y tecnologías para la internet de nueva generación". Universidad de Alicante. Julio 2008.
Sesión 6 del curso Metodologías Ágiles de Desarrollo de Software de la Universidad de Alicante (http://www.dccia.ua.es/dccia/inf/asignaturas/MADS/2013-14)
Charla en Madrid Spring User Group (www.meetup.com/madrid-spring-user-group/) sobre el uso del framework Spock en aplicaciones Spring Boot y como contenido extra, breve introducción al framework GEB para pruebas funcionales
No solo un lenguaje puede resolver los problemas que se enfrentan al desarrollar aplicaciones. Cada lenguaje tiene su semántica y sin duda su aplicación. En la plataforma Java desde hace algunos años se brinda soporte para numerosos lenguajes, muchos de ellos creados específicos para la plataforma y otros traídos y adaptados para que puedan explotar las bondades, herramientas y librerías que desde hace muchos años forman parte del ecosistema Java.
En esta charla mostraremos algunos de los lenguajes mas representativos y mas usados en la plataforma Java, los lenguajes que mostraremos son Jython, JRuby, Scala y Groovy. Veremos un poco de su historia y como fueron integrados a la plataforma, así como algunos casos de éxito del uso de estos lenguajes. Ademas de ello analizaremos algunas herramientas disponibles para su uso.
Al termino de la charla los asistentes sabrán que existen muchas alternativas de lenguajes de programación sobre la plataforma Java para desarrollar aplicaciones sumamente escalables y algunas de las tendencias del mercado.
Presentación del tema "Redefiniendo el MVC con Grails" presentada por mí el día Sábado 22 de Agosto en la Reunión de SpringHispano.org, grails.org.mx y JavaMexico
El proceso de desarrollo de software involucra una gran cantidad de recursos, la elección de dichos recursos sin duda puede ayudarnos a marcar la diferencia en el resultado final.
Estos recursos pueden ser de muchos tipos, en este webminar nos enfocaremos a herramientas de software que nos permitirán mejorar nuestro proceso de desarrollo, aprovechando los beneficios del modelo openSource.
Veremos algunos criterios para elegir la herramientas de construcción, IDE de desarrollo, frameworks de testing, así como herramientas para integrar continuamente el código, así como herramientas para generar métricas.
NET5 es la nueva plataforma de desarrollo unificada, para programar cualquier tipo de aplicaciones modernas con Visual Studio. La construcción de nuevas aplicaciones .NET5, se pueden desarrollar y publicar en diferentes sistemas operativos, plataformas de nube, plataformas móviles, IoT y otros dispositivos con diferentes lenguajes y herramientas.
Sesión 6 del curso Metodologías Ágiles de Desarrollo de Software de la Universidad de Alicante (http://www.dccia.ua.es/dccia/inf/asignaturas/MADS/2013-14)
Introducción a la organización de contenidos en sitios web 2.0.
Curso de Verano "La web 2.0: retos y tecnologías para la internet de nueva generación". Universidad de Alicante. Julio 2008.
Sesión 6 del curso Metodologías Ágiles de Desarrollo de Software de la Universidad de Alicante (http://www.dccia.ua.es/dccia/inf/asignaturas/MADS/2013-14)
Sesión 2 del curso "Metodologías Ágiles de Desarrollo de Software" de la Universidad de Alicante (http://www.dccia.ua.es/dccia/inf/asignaturas/MADS/2013-14)
Cuarta Edición del Curso Online de Especialización en Seguridad Informática p...Chema Alonso
Cuarta Edición del Curso Online de Especialización en Seguridad
Informática para la Ciberdefensa
Del 4 de mayo al 4 de junio de 2015
Orientado a:
- Responsables de seguridad.
- Cuerpos y fuerzas de seguridad del Estado.
- Agencias militares.
- Ingenieros de sistemas o similar.
- Estudiantes de tecnologías de la información
Configurar y utilizar Latch en MagentoChema Alonso
Tutorial realizado por Joc sobre cómo instalar y configurar Latch en el framework Magento. El plugin puede descargarse desde https://github.com/jochhop/magento-latch y tienes un vídeo descriptivo de su uso en http://www.elladodelmal.com/2015/10/configurar-y-utilizar-latch-en-magento.html
Talk delivered by Chema Alonso at RootedCON Satellite (Saturday 12th of September 2015) about how to do hacking & pentesting using dorks over Tacyt, a Big Data of Android Apps
Los desarrolladores Java deben enfrentarse todos los días a muchos problemas, tanto técnicos como de otras índoles. En este webminar dirigido principalmente al personal técnico, como desarrolladores e ingenieros de pruebas, veremos como el lenguaje Groovy puede ser un excelente complemento para las tareas cotidianas, así como para aquellas tareas que requieran de un gran esfuerzo con las herramientas tradicionales y el lenguaje Java que todos ya conocemos.
El lenguaje Groovy plantea una sintaxis simple que permite al desarrollador escribir menor cantidad de código y mas sencillo de entender. Groovy ademas de su facilidad para escribir código, nos provee de características como la metaprogramación que permite añadir funcionalidad a clases existentes del SDK de Java, esto se conoce como Groovy Development Kit (GDK), usando el GDK veremos como usar las librerías estándar de Java aun mas fácil.
Ademas de ello, en la comunidad se han desarrollado herramientas que permiten aprovechar todas las características de Groovy, en este webminar veremos como un desarrollador Java puede aprovecharlas sin necesidad de usar Groovy en entornos productivos si es que no esta listo
Madrid-GUG (Alicante) 2017 - De Java a Groovy: ¡Hora de Aventuras!Iván López Martín
Groovy es un lenguaje dinámico para la JVM y la evolución natural para un programador Java debido a su baja curva de aprendizaje.
Si quieres saber por qué programar con Groovy es una Hora de Aventuras, esta es tu charla. Aprenderás a través de ejemplos las principales características que hacen de Groovy un lenguaje tan potente y versatil: tipado dinámico, closures, manejo de listas y mapas, power asserts, builders, metaprogramación, scripting, DSL's, transformaciones AST y muchas más.
Te aseguro que después de la charla tendrás ganas de profundizar y utilizarlo en tu día a día.
Groovy es un lenguaje alternativo para la JVM, al ser un lenguaje dinámico, permite que usemos conceptos como metaprogramación; característica que sirve como base para manipular el código en tiempo de ejecución.
Groovy extiende las librerías estándar de Java con una colección de clases que son implementadas con metaprogramación para facilitar el uso de diversos APIs. Esta colección se llama GDK, mostraremos los diversos usos que tiene y como ayudan al desarrollador.
Para finalizar veremos como participar en manipulación del byte-code que genera el compilador de Groovy con simples anotaciones de Java. Mostrare las anotaciones que Groovy provee y como podemos implementar las propias.
Estas caracteristicas del lenguaje; forman una triada que permiten potenciar y elevar las capacidades de los desarrolladores que usen Groovy para sus aplicaciones.
This is the presentation we gave at Spring 2GX Madrid. It shows how Grails helped us to improve our productivity and why Grails is not that bounded to Groovy and how it can be an outstanding alternative if you are a 100% Java company.
Codemotion Madrid 2016 - De Java a Groovy: ¡Hora de Aventuras!Iván López Martín
Groovy es un lenguaje dinámico para la JVM y la evolución natural para un programador Java debido a su baja curva de aprendizaje.
Si quieres saber por qué programar con Groovy es una Hora de Aventuras, esta es tu charla.
Aprenderás a través de ejemplos las principales características que hacen de Groovy un lenguaje tan potente y versatil: tipado dinámico, closures, manejo de listas y mapas, power asserts, builders, metaprogramación, scripting, DSL's, transformaciones AST y muchas más.
Te aseguro que después de la charla tendrás ganas de profundizar y utilizarlo en tu día a día.
Groovy nos entrega una nueva generación de lenguajes scripting que permite el desarrollo de aplicaciones en menos tiempo y de manera mucho mas legibles. Además la con la metaprogramacion de Groovy , permite extender las funcionalidades de la API de Java en Runtime.
Con el auge de las tecnologías Web, se están realizando desarrollo móviles empleando estrategias híbridas con frameworks como Apache Cordova (aka PhoneGap) o trigger.io. Pero, debido a un no buen entendimiento de en qué medida mezclar el desarrollo nativo y el Web en la aplicación, en algunas ocasiones, las aplicaciones desarrolladas pueden no llegar cubrir las expectativas, creando una mala reputación para este tipo de desarrollos híbridos.
La charla se centraría en exponer:
Revisión de los diferentes tipos de desarrollo móvil.
Los diferentes aproximaciones/frameworks híbridos disponibles para el desarrollo de aplicaciones móviles.
El correcto entendimiento de una estrategia híbrida: predominantemente nativa vs web.
Lecciones aprendidas del desarrollo híbrido a tener en cuenta.
Estrategias de desarrollo de aplicaciones móviles.
Ultimas tendencias: framework Calatrava.
HTML5 es la respuesta de ingenieros y especialistas de empresas y organizaciones tecnológicas dedicadas a la web, quienes propusieron un estándar acorde a los nuevos tiempos y necesidades. Hoy en día, HTML5 está en vías de convertirse en un estándar oficial y es la punta del iceberg de un conjunto de tecnologías de web abierta destinadas a revolucionar la forma en que se construyen sitios y aplicaciones web.
Inteligencia Artificial y Ciberseguridad.pdfEmilio Casbas
Recopilación de los puntos más interesantes de diversas presentaciones, desde los visionarios conceptos de Alan Turing, pasando por la paradoja de Hans Moravec y la descripcion de Singularidad de Max Tegmark, hasta los innovadores avances de ChatGPT, y de cómo la IA está transformando la seguridad digital y protegiendo nuestras vidas.
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...espinozaernesto427
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta intensidad son un tipo de lámpara eléctrica de descarga de gas que produce luz por medio de un arco eléctrico entre electrodos de tungsteno alojados dentro de un tubo de alúmina o cuarzo moldeado translúcido o transparente.
lámparas más eficientes del mercado, debido a su menor consumo y por la cantidad de luz que emiten. Adquieren una vida útil de hasta 50.000 horas y no generan calor alguna. Si quieres cambiar la iluminación de tu hogar para hacerla mucho más eficiente, ¡esta es tu mejor opción!
Las nuevas lámparas de descarga de alta intensidad producen más luz visible por unidad de energía eléctrica consumida que las lámparas fluorescentes e incandescentes, ya que una mayor proporción de su radiación es luz visible, en contraste con la infrarroja. Sin embargo, la salida de lúmenes de la iluminación HID puede deteriorarse hasta en un 70% durante 10,000 horas de funcionamiento.
Muchos vehículos modernos usan bombillas HID para los principales sistemas de iluminación, aunque algunas aplicaciones ahora están pasando de bombillas HID a tecnología LED y láser.1 Modelos de lámparas van desde las típicas lámparas de 35 a 100 W de los autos, a las de más de 15 kW que se utilizan en los proyectores de cines IMAX.
Esta tecnología HID no es nueva y fue demostrada por primera vez por Francis Hauksbee en 1705. Lámpara de Nernst.
Lámpara incandescente.
Lámpara de descarga. Lámpara fluorescente. Lámpara fluorescente compacta. Lámpara de haluro metálico. Lámpara de vapor de sodio. Lámpara de vapor de mercurio. Lámpara de neón. Lámpara de deuterio. Lámpara xenón.
Lámpara LED.
Lámpara de plasma.
Flash (fotografía) Las lámparas de descarga de alta intensidad (HID) son un tipo de lámparas de descarga de gas muy utilizadas en la industria de la iluminación. Estas lámparas producen luz creando un arco eléctrico entre dos electrodos a través de un gas ionizado. Las lámparas HID son conocidas por su gran eficacia a la hora de convertir la electricidad en luz y por su larga vida útil.
A diferencia de las luces fluorescentes, que necesitan un recubrimiento de fósforo para emitir luz visible, las lámparas HID no necesitan ningún recubrimiento en el interior de sus tubos. El propio arco eléctrico emite luz visible. Sin embargo, algunas lámparas de halogenuros metálicos y muchas lámparas de vapor de mercurio tienen un recubrimiento de fósforo en el interior de la bombilla para mejorar el espectro luminoso y reproducción cromática. Las lámparas HID están disponibles en varias potencias, que van desde los 25 vatios de las lámparas de halogenuros metálicos autobalastradas y los 35 vatios de las lámparas de vapor de sodio de alta intensidad hasta los 1.000 vatios de las lámparas de vapor de mercurio y vapor de sodio de alta intensidad, e incluso hasta los 1.500 vatios de las lámparas de halogenuros metálicos.
Las lámparas HID requieren un equipo de control especial llamado balasto para funcionar
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
En este proyecto de investigación nos adentraremos en el fascinante mundo de la intersección entre el arte y los medios de comunicación en el campo de la informática.
La rápida evolución de la tecnología ha llevado a una fusión cada vez más estrecha entre el arte y los medios digitales, generando nuevas formas de expresión y comunicación.
Continuando con el desarrollo de nuestro proyecto haremos uso del método inductivo porque organizamos nuestra investigación a la particular a lo general. El diseño metodológico del trabajo es no experimental y transversal ya que no existe manipulación deliberada de las variables ni de la situación, si no que se observa los fundamental y como se dan en su contestó natural para después analizarlos.
El diseño es transversal porque los datos se recolectan en un solo momento y su propósito es describir variables y analizar su interrelación, solo se desea saber la incidencia y el valor de uno o más variables, el diseño será descriptivo porque se requiere establecer relación entre dos o más de estás.
Mediante una encuesta recopilamos la información de este proyecto los alumnos tengan conocimiento de la evolución del arte y los medios de comunicación en la información y su importancia para la institución.
1. Groovy&Grails: desarrollorápido de aplicaciones Actualización del profesorado de la familia profesional Informática y Comunicaciones 9 de Septiembre de 2010
- Paraquealgo se autodenominecomo genial, tienequeestarmuyseguro de simismo, al igualquealguiencuando le pone supropionombre a unaempresao un producto. Hay más de 100 lenguajesque se puedenejecutar en la Máquina Virtual de Java. Fuente: http://en.wikipedia.org/wiki/List_of_JVM_languages. Ágil porque nos ahorra mucha de la verborrea que siempre tiene Java y dinámico porque su tipado de datos es dinámico, es decir, es Groovy quien se encarga de elegir que tipo de datos es cada objeto de nuestras aplicaciones, aunque si lo deseamos, podemos especificárselo nosotros mismos.
- Cuandovemosunaclaseo un script en Groovy, detectaremossusimilitud con Java, aunque también notaremos como se agiliza el código- Se puededecirque Groovy esunasuperclase de Java, puestoquepuedeutilizartodaslascaracterísticas de Java junto con algunasmáspropias de Groovy- Uno de los aspectosquemásrechazan de Java muchosdesarrolladoresessuverborrea en determinadasocasionesy se necesitademasiadocódigoparahacermuypoco.
A los programadores Java, puestoque en el fondo Groovy es JavaA los programadores de scripts, puestoquees un lenguajemuyexpresivoyquepuedeconseguir mucho con muypococódigo, algoque a estetipo de desarrolladores les encanta.A los programadoreságilesyextremosyaquepuedenimplementarfácilmentesusteorias (SCRUM, XP)
En Java, un simple programaqueimprima el típicoHolaMundo, suponeescribirmuchaslíneas de código. En Groovy se evita mucho de estecódigoparaconseguir lo mismo.Al evitarestecódigo “innecesario”, se aumenta la expresividad del lenguaje, puestoque con menos se dice másGroovy importaautomáticamente los paquetesgroovy.lang.*, groovy.util.*, java.lang.*, java.util.*, java.net.* yjava.io.*, asícomolasclasesjava.Math.BigIntegeryjava.Math.BigDecimal, asíquesiempre vas a poderutilizartodasestasclases sin necesidad de queseanimportadossuspaquetes al inicio del programa. Estotambiénesdiferente a Java, dondesólo se importaautomáticamente el paquetejava.lang.*.
Esta sería una típica definición de una clase en Groovy con su getter y su setter. Notamos la ausencia de puntos y comas. Ya empezamos a ahorrarnos código innecesario
Además de las clases en Groovy, también podemos tener scripts dentro de las mismas clases para realizar determinadas acciones sin necesidad de tener un método main. En caso de que necesitemos pasar argumentos a nuestro código Groovy.
Este sería un bean en Java que define la clase Libro con una única propiedad, sobre el cual se definen sus getters y sus setters
Este es el mismo bean en Groovy. En Groovy si tenemos una propiedad pública, automáticamente se crea el getter y el setter de dicha propiedad. En esta ocasión, si no le indicamos nada a la propiedad titulo, esta se configura automáticamente como privada, sin embargo, se creará como públicos sus métodos getter y setter.
Estoque los programadores LAMPven normal, en Java no estan obvio y suele necesitarse mucho código para conseguir lo mismo. Si utilizamos comillas dobles, no es necesario escapar en las cadenas de texto.
Groovy es un lenguaje que implementa un tipado dinámico de datos. Esto consiste en que es Groovy quien decide (si el programador no indica otra cosa diferente) que tipo de datos es una variable.
Como vemos en el anterior código, en las dos primeras declaraciones de variables, dejamos que sea Groovy quien se encargue de asignarle el tipo de datos a las variables a y b, mientras que en las dos segundas le especificamos un tipo de datos primitivo aunque sabemos que Groovy lo va a tratar como tipo de dato referencia.Por último, en las dos últimas especificamos directamente el tipo de dato referencia que estamos definiendo
Groovy hereda de Java los típicos if-else, while, switch y try-catch-finally de Java, pero modifica la forma en la que se implementan los bucles for. Cualquier variable que sea iterable va a poder ser utilizada en un bucle for
El programador se olvida de determinados aspectos de configuración, siempre que sigan las convenciones establecidas por los desarrolladores.
Comentarque en la versión 1.2 se añade la posibilidad de utilizar Tomcat comocontenedorde aplicaciones. Hacer hincapie en que no es único sobre el que funcionarán nuestras aplicaciones hechas en Grails, sino que simplemente es este el que viene en la distribución de Grails para ejecutar nuestra aplicación
Comentar los tres niveles por defecto con los que viene Grails, (desarrollo, test y producción) y que posteriormente veremos un ejemplo del fichero de configuración del acceso a la base de datos
Comentar la existenciatanto del scaffolding estáticocomoel dinámico. Comentar que posteriormente veremos en funcionamiento el scaffolding en Grails. Gracias a este scaffolding, Grails genera automáticamente tanto los métodos de los controladores, como las vistas para realizar las operaciones a partir de una clase de dominio.
Comentar la existenciatanto del scaffolding estáticocomoel dinámico. Comentar que posteriormente veremos en funcionamiento el scaffolding en Grails. Gracias a este scaffolding, Grails genera automáticamente tanto los métodos de los controladores, como las vistas para realizar las operaciones a partir de una clase de dominio.
Comentar que los métodos del controlador de la clase Libro son los que hay en una plantilla de Grails y que pueden ser modificados fácilmente por nosotros para realizar una serie de cambios y así poder crear la máquina de crear aplicaciones.
Comentar la existenciatanto del scaffolding estáticocomoel dinámico. Comentar que posteriormente veremos en funcionamiento el scaffolding en Grails. Gracias a este scaffolding, Grails genera automáticamente tanto los métodos de los controladores, como las vistas para realizar las operaciones a partir de una clase de dominio.
Comentar la existenciatanto del scaffolding estáticocomoel dinámico. Comentar que posteriormente veremos en funcionamiento el scaffolding en Grails. Gracias a este scaffolding, Grails genera automáticamente tanto los métodos de los controladores, como las vistas para realizar las operaciones a partir de una clase de dominio.
Los tests unitarios son aquellos que comprueban la validez de nuestras clases sin tener en cuenta las relaciones con el resto del sistema (otras clases, sistema de ficheros, conexiones de red, etc)Los tests de integración comprueban la validez de nuestras clases cuando se relacionan con el resto del sistema (otras clases, sistema de ficheros, conexiones de red, etc)Los tests funcionales comprueban la funcionalidad de nuestra aplicación. Selenium y Canoo son dos frameworks que nos permitirán desarrollar este tipo de tests
El mapeo objeto-relacional nos permite convertir datos obtenidos de una base de datos relacional para poder trabajar con los paradigmas de los lenguajes orientados a objetos
Comentar la comunidadcadavezmásgrande de pluginsdesarrolladosporlos usuarios. Hay cerca de 350 plugins disponibles para la comunidad de desarrolladores Grails. Este número sigue en aumento.